iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
Mobile Development

如何成為IOS初級工程師系列 第 20

Day-20 最基礎的軟體架構模式 - MVC

  • 分享至 

  • xImage
  •  

今天要來教新的設計模式(Design patterns),只要你是前端,不管你是寫什麼語言,MVC就是最最最基礎要了解的軟體架構模式。

進入正題

今天會簡單介紹

  • MVC(Model-View-Controller)

MVC

  • 模型(Model) - 保存應用程式的數據,簡單來說就是儲存資料的地方,通常使用class或struct建立模型。
  • 視圖(View) - 在螢幕上顯示視覺元素、元件,通常是繼承UIView這個父類別。
  • 控制器(Controller)- 用於控制應用程式的流程,它處理使用者事件或是Model的改變並作出回應。簡單來說就是在中間協調Model與View,通常使用UIViewController等子元件。

https://ithelp.ithome.com.tw/upload/images/20221005/20152659YxIw4nXU66.png
總結一句話,資料顯示到畫面上的過程要由controller處理,Model跟View不能單獨互相溝通。

但是因為MVC這個設計模式在swift開發上,view跟controller的界線很模糊,你看我們的controller名稱叫做UIViewController根本就是把View跟Controller合併在一起了啊,所以有人就說我們的MVC是Massive View Controller。但其實並不是MVC不好用,通常都是一開始沒有好好規劃好物件彼此之間的關係導致的。可以看看我老師的文章如何改善的。

網路上已經有很多人寫MVC的文章,我覺得個網友的文章用overcooked遊戲來比喻我覺得很有趣,也很淺顯易懂。

還有很多種軟體架構模式像是MVVM, MVP, VIPER等等,都是為了要解決專案龐大且雜亂的問題,每種不同的專案會適合不同的設計模式,有興趣的人可以再去深入研究哦。


上一篇
Day-19 記憶體管理 - ARC
下一篇
Day-21 高階函式 - Sort, Filter, Map, Reduce, Contains
系列文
如何成為IOS初級工程師30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言